package com.css.constant;

/**
 * @ClassName SystemCodeEnum
 * @Auther qiumengmeng
 * @Date 2024/7/11 上午12:18
 */
public enum SystemCodeEnum implements ResultCode {
    //系统响应成功
    SYSTEM_OK(0, "success"),
    SYSTEM_ERR(-1, "fail"),
    //未捕获的错误
    SYSTEM_ERROR(500, "系统忙，请稍候再试"),

    SYSTEM_NOT_LOGIN(302, "请先登录！"),
    //拒绝访问
    SYSTEM_BAD_REQUEST(403, "请求频率过快,请稍后再试"),
    //无权访问
    SYSTEM_NO_AUTH(401, "无权操作"),
    //资源未找到
    SYSTEM_NO_FOUND(404, "资源未找到"),
    //资源未找到
    SYSTEM_NO_VALID(400, "参数验证错误"),
    //请求方式错误
    SYSTEM_METHOD_ERROR(405, "请求方式错误"),
    //请求超时
    SYSTEM_REQUEST_TIMEOUT(408, "请求超时"),
    //服务调用异常
    SYSTEM_SERVER_ERROR(1001, "服务调用异常"),
    //企业信息已到期
    SYSTEM_NO_SUCH_PARAMENT_ERROR(1003, "参数不存在!"),
    //上传文件失败
    SYSTEM_UPLOAD_FILE_ERROR(1004, "文件上传失败!"),
    //请求体读取异常
    HTTP_MESSAGE_NOT_READABLE(1005, "请求体读取异常!"),
    HTGL_LQQQ_ERROR(99999, "%s:%s"),

    //用户已存在
    SYSTEM_YH_EXITS(600, "用户已存在"),
    //用户不存在
    SYSTEM_YH_NOEXITS(601, "用户不存在"),
    //用户未实名认证
    SYSTEM_YH_NOSMRZ(602, "用户未实名认证"),
    //用户已实名认证
    SYSTEM_YH_YSMRZ(603, "用户已实名认证"),
    //用户未设置密码
    SYSTEM_YH_NOSZMM(604, "用户未设置密码"),
    //用户未添加银行卡信息
    SYSTEM_YH_NOADDYHK(605, "用户未添加银行卡信息"),
    //用户未绑定企业信息
    SYSTEM_YH_NOBDQY(606, "用户未绑定企业信息"),
    //用户已注册
    SYSTEM_YH_YZC(607, "用户已注册"),
    //用户已保存自然人信息
    SYSTEM_YH_YBCZRRXX(608, "用户已保存自然人信息"),


    SYSTEM_YH_RZSHWTG(610, "认证审核未通过"),


    SYSTEM_YH_RZSHZ(609, "认证审核中");


    SystemCodeEnum(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    private int code;
    private String msg;

    @Override
    public int getCode() {
        return code;
    }

    @Override
    public String getMsg() {
        return msg;
    }

    public static SystemCodeEnum parse(Integer status) {
        for (SystemCodeEnum value : values()) {
            if (value.getCode() == status) {
                return value;
            }
        }
        return SystemCodeEnum.SYSTEM_ERROR;
    }
}
